Copying user interface artifacts with dynamic levels of detail and shortcut keys

ABSTRACT

A method of operating a device, which includes providing a user interface with a display artifact; in response to an indication a user selected to copy the display artifact, storing multiple levels of detail of the display artifact; allowing the user to paste a selected level of detail by steps of: in response to an indication a user selected an input field and a paste command, displaying a plurality of paste options for pasting the display artifact into the input field, wherein the plurality of paste options each have a unique level of detail for representing the display artifact; allowing the user to select from the plurality of paste options; and in response to an indication a user selected a paste option from the plurality of paste options, pasting the display artifact with a level of detail associated with the selected paste option into the input filed.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.16/916,666 filed Jun. 30, 2020, now Pat. No. 11,132,115, entitled“Copying User Interface with Dynamic Levels of Detail and ShortcutKeys”, which is incorporated herein by reference in its entirety.

BACKGROUND

User interfaces include a variety of different artifacts that can bemanipulated by a computer user including icons, text, buttons, graphics,photos, and uniform resource locators. A uniform resource locator (URL)specifies a location of an internet resource. It is sometimes called aweb address. A URL can be used by web browsers or other software toolsto find and retrieve resources such as web pages on the internet. TheURL is often inserted into an address bar on a web browser display. AURL may be relatively simple; or it can be extremely complex. The morecomplex URLs are not human readable and are cumbersome for users to workwith. Some software tools use various formats to represent a URL to freethe user from dealing with complex URLs. When URLs are copied and pastedby a user, the URLs and information related to the URL may be presentedto the user in different formats with different levels of detail to makeit less cumbersome for the user and provide more information. Users mayrequire using these different formats with varying levels of detail forthe URL depending on how the URL is going to be used.

A user using a web browser often also requires copying a URL or otherinterface artifact. Copying an artifact such as a URL typically includesa copy step, followed by a paste step. For example, in the copy step,the user highlights a URL and actuates a copy command or key to place acopy of the URL in memory. The paste step includes the user selecting adestination and pasting the URL into the destination by actuating apaste command. A shortcut key can be used to actuate the copy or pastecommands in leu of selecting a menu command. Some shortcut keys havebecome common across multiple tools and vendors. These common shortcutkeys are referenced herein as habitual shortcut keys, where their usebecomes a habitual response for a user.

SUMMARY

A device is disclosed, which includes a processor and a memory incommunication with the processor. The memory includes executableinstructions that, when executed by the processor, cause the processorto control the device to perform functions of providing a user interfacewith a display artifact; in response to receiving an indication a userselected to copy the display artifact, storing multiple levels of detailof the display artifact; allowing the user to paste a selected level ofdetail for the display artifact by steps of: in response to receiving anindication the user selected an input field and a paste command,displaying a plurality of paste options for pasting the display artifactinto the input field, wherein the plurality of paste options each have aunique level of detail for representing the display artifact; andallowing the user to select from the plurality of paste options; and inresponse to receiving an indication the user selected a paste optionfrom the plurality of paste options, pasting the display artifact with alevel of detail associated with the selected paste option into the inputfiled.

In another implementation, a method of operating a device is disclosed,which includes providing a user interface with a display artifact; inresponse to receiving an indication a user selected to copy the displayartifact, storing multiple levels of detail of the display artifact;allowing the user to paste a selected level of detail for the displayartifact by the steps of: in response to receiving an indication a userselected an input field and a paste command, displaying a plurality ofpaste options for pasting the display artifact into the input field,wherein the plurality of paste options each have a unique level ofdetail for representing the display artifact; allowing the user toselect from the plurality of paste options; and in response to receivingan indication a user selected a paste option from the plurality of pasteoptions, pasting the display artifact with a level of detail associatedwith the selected paste option into the input filed.

In another implementation, a non-transitory computer readable medium isdisclosed on which are stored instructions that, when executed by acomputer processor, cause a device to: provide a user interface with adisplay artifact; in response to receiving an indication a user selectedto copy the display artifact, store multiple levels of detail of thedisplay artifact; allow the user to paste a selected level of detail forthe display artifact by the steps of: in response to receiving anindication a user selected an input field and a paste command, display aplurality of paste options for pasting the display artifact into theinput field, wherein the plurality of paste options each have a uniquelevel of detail for representing the display artifact; allow the user toselect from the plurality of paste options; and in response to receivingan indication a user selected a paste option from the plurality of pasteoptions, past the display artifact with a level of detail associatedwith the selected paste option into the input filed.

In another implementation, a method of operating a device is disclosed,which includes providing a user interface with a display artifact;allowing a user to perform a function with the display artifact by thesteps of: setting a previously habituated shortcut key value to performa function with a chosen default type of the function; presenting thepreviously habituated shortcut key value as the shortcut key for afunction format matching the chosen default type of the function in asub-function context menu; and presenting other, non-habituated shortcutkey values for other function format types in the sub-function contextmenu.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter. Furthermore,the claimed subject matter is not limited to implementations that solveany or all disadvantages noted in any part of this disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The drawing figures depict one or more implementations in accord withthe present teachings, by way of example only, not by way of limitation.In the figures, like reference numerals refer to the same or similarelements. Furthermore, it should be understood that the drawings are notnecessarily to scale.

FIG. 1 illustrates a system where a user interacts with a graphical userinterface on a computer which includes aspects of the claimed invention.

FIG. 2A illustrates a display of a computing device with animplementation for copying user interface artifacts with multiple levelsof detail.

FIG. 2B illustrates another example of a display of a computing devicewith an implementation for copying user interface artifacts withmultiple levels of detail.

FIG. 3A illustrates an example of a display of a computing device withan implementation for copying user interface artifacts such as a URLwith multiple levels of detail.

FIG. 3B illustrates another example of a display of a computing devicewith an implementation for copying user interface artifacts such as aURL with multiple levels of detail.

FIG. 3C illustrates another example of a display of a computing devicewith an implementation for copying user interface artifacts such as aURL with multiple levels of detail

FIG. 3D illustrates another example of a display of a computing devicewith an implementation for copying user interface artifacts such as aURL with multiple levels of detail

FIG. 4 illustrates an implementation which allows the user to change thecopy and paste format default.

FIG. 5 is a flowchart of an implementation of a process for copying userinterface artifacts with multiple levels of detail.

FIG. 6 is a flowchart of an implementation of a process for storing userinterface artifacts with multiple levels of detail.

FIG. 7A is a flowchart of an implementation of a process for allowing auser to use a previously habituated shortcut key to perform a pastefunction with the chosen default level of detail.

FIG. 7B is a flowchart of an implementation for allowing a user to use apreviously habituated shortcut key to perform a function with the chosendefault level of detail.

FIG. 8 is a block diagram showing an example computer system upon whichvarious implementations of this disclosure may be implemented.

DETAILED DESCRIPTION

This description is directed to copying user interface artifacts withmultiple levels of detail and using shortcut keys. Users of a graphicaluser interface are often required to copy and paste display artifactsthat include various levels of detail. For example, URLs are oftencomplex and cumbersome for users to work with. Some software tools usevarious formats to represent a URL to free the user from dealing withcomplex URLs. The tools may copy and paste a higher level of detaildepending on the destination being able to accept the additional detail.However, common tools do not allow the user to observe and control thelevel of detail.

To improve the user experience and alleviate the above problem, thedisclosure and claims herein are directed to a system providing a userinterface which allows the user to copy and paste display artifacts withmultiple levels of detail. Further, the user may be provided with staticpreview representation or a dynamically generated live preview for eachlevel of detail so the user can see exactly what the level of detailcontains. The user may be provided with an opportunity to set a defaultlevel of detail. Further, the user may optionally use a habitualshortcut key that that changes function based on the selected defaultlevel of detail.

In the following detailed description, numerous specific details are setforth by way of examples in order to provide a thorough understanding ofthe relevant teachings. However, it should be apparent that the presentteachings may be practiced without such details. In other instances,well known methods, procedures, components, and/or circuitry have beendescribed at a relatively high-level, without detail, in order to avoidunnecessarily obscuring aspects of the present teachings.

FIG. 1 illustrates an example system 100, upon which aspects of thisdisclosure may be implemented. The system 100 may include a user 110operating a user device 120 which is connected through a network 130 toone or more other devices. The user may access and interact withinternet resources on a server 140 connected to the network 130. Thenetwork 130 may be a wired or wireless network or a combination of wiredand wireless networks including the internet. In one implementation, theone or more steps may be done by the device 120 and/or device 160connected locally or remotely to the network 130. In anotherconfigurations, some of the steps may be performed by the server 140,and some may be performed by the device 120 and/or device 160. Forexample, the device 120 may include a display with a graphical userinterface such as a web browser. The web browser allows the user 110 toaccess internet webpages located on various remote servers over theinternet such as server 140 using a uniform resource location placedinto an address bar on the web browser. The device 120 further allowsthe user 110 to copy and paste a display artifact with multiple levelsof detail as described herein. Similarly, device 160 may include a webbrowser to access internet webpages located on server 140.

FIG. 2A illustrates an implementation of a display 210 of a computingdevice such as user device 120 in FIG. 1 . In different implementations,the display 210 may present various application graphics such asgraphical user interface (GUI) with various buttons, display boxes,graphics and other display artifacts. In the illustrate example, thedisplay 210 represents a view of a GUI 212 for a web browser. The webbrowser allows a user to access internet webpages located on variousremote servers over the internet such as server 140 in FIG. 1 . The GUI212 of the web browser on the display 210 includes an address bar 214and a browser display window 216. The address bar 214 typically displaysthe URL for the currently displayed web page on the browser displaywindow 216. The address bar 214 can typically also be used as an inputof a URL to retrieve another webpage. A user may input a desired URLinto the address bar 214 or copy the URL displayed in the address bar tobe used elsewhere.

FIG. 2A further illustrates allowing the user to copy a display artifactwith multiple levels of detail. In this example, the user has moved thepointer 218 over the display field of the address bar 214 containing aURL. The operation of selecting a display artifact may be accomplishedby “right clicking” a mouse or other device that controls the locationof the pointer 218. In response to the user selecting the address bar214, the pop-up menu 220 is displayed to allow the user to select anaction for the user interface to take on the selected display artifact(URL) in the location indicated by the pointer. In this example, theuser selects the copy option 222 in the pop-up menu 220. In thisexample, the GUI 212 implemented on the user device stores multiplelevels of detail 224 for the display artifact indicated by the locationof the pointer 218 at the time the user initiated the selection. In thisexample, the levels of detail 224 stored for the selected displayartifact, a URL, include web preview 226, link 228 and plain text 230.Data for the levels of detail 224 is stored in memory such that it canbe accessed and used when the user chooses to paste the display artifactin another location in the same or different application on the userdevice 120. Additional details for storing the multiple levels of detailare described below with reference to FIG. 6 . As used herein, the termpointer may include a cursor or other GUI artifact controlled by amouse, a keyboard, or a touch pad. Or the pointer may be implemented asa contact point on a touch screen. Alternatively, the pointer may beimplemented by other non-touch means such as by gaze or voice in which auser interacts with a computer user interface on a display, including bynot limited to, two dimensional displays, three dimensional displays aswell as virtual reality and mixed reality displays.

FIG. 2B illustrates another implementation of allowing the user to copya display artifact with multiple levels of detail. In this example, theuser has moved the pointer 218 over the image 232 of a laptop on thedisplay 210. The operation of selecting a display artifact may beaccomplished by “right clicking” as described above. In response to theuser selecting the image 232, the pop-up menu 220 is displayed to allowthe user to select an action for the user interface to take on theselected display artifact (image of a laptop). In this example, the userselects the copy option 222 in the pop-up menu 220. In this example, theGUI 212 implemented on the user device stores multiple levels of detail234 for the display artifact of the laptop image 232. In this example,the levels of detail 224 stored for the selected display artifact, animage, include the image 236, image description 238 and image metadatafor image 240. The image 236 may include a grayscale version of a colorimage or a color version of a grayscale image. The image description 328may be an artificial intelligence generated description of what theimage represents or contains. The image metadata 240 may include thesize, resolution, location, date, or other image information. Data forthe levels of detail 234 is stored in memory as described above for uselater in a paste step.

FIG. 3A illustrates the GUI 212 allowing the user to paste a displayartifact with multiple levels of detail. In this example, the user hasmoved the pointer 218 over the address bar 214 and selects to paste apreviously copied URL. The operation of selecting to paste a displayartifact such as the URL may be accomplished by “right clicking” a mouseor other device that controls the location of the pointer 218. Inresponse to the above action, the pop-up menu 220 is displayed to allowthe user to select an action for the user interface to take on theselected display artifact (URL) in the location indicated by thepointer. In this example, the user selects the “paste as” option 310 inthe pop-up menu 220. In response to selecting the “paste as” option 310,the GUI 212 displays a paste options menu 312 with options for pastingmultiple levels of detail at the location of the pointer 218. In thisexample, the levels of detail displayed in the paste options menu 312for the selected field, in this case a URL, include a web preview option314, a link option 316 and a plain text option 318. Data for the threelevels of detail was previously stored in memory as described above. Inthis case, the input field is the address bar 214 which will only accepta plain text level of detail. Thus, the plain text option 318 isselectable by the user while the link option 316 and web preview option314 are not available and are shown to the user in “greyed out” text toindicate they are not available. When the user selects the plain textoption 318, the plain text level of detail for the URL will be pastedinto the address bar 214. In this implementation, the paste options menu220 also includes a preview display 320 that shows the user a dynamiclive preview of the currently selected level of detail. In this case thecurrently selected level of detail is plain text as indicated by theplain text option 318 shown as a shaded or highlighted menu option.

FIG. 3B illustrates another example of the GUI 212 allowing the user topaste a display artifact with multiple levels of detail. In thisexample, the GUI 212 includes a window of a messenger application 340with a new message block 342. In this example, the user has moved thepointer 218 over the new message block 342 to paste a previously copieddisplay artifact, which in this example is a URL. The operation ofselecting to paste a display artifact such as the URL may beaccomplished as described above. In response to selecting to paste adisplay artifact, the pop-up menu 220 is displayed to allow the user toselect an action for the user interface to take on the selected displayartifact (URL) in the location indicated by the pointer. In thisexample, the user selects the “paste as” option 310 in the pop-up menu220. In response to selecting the “paste as” option 310, the GUI 212displays a paste options menu 312 with options for pasting multiplelevels of detail at the location of the pointer 218. In this example,the levels of detail displayed in the paste options menu 312 for theselected field, a URL, include a web preview option 314, link option 316and plain text option 318. Data for the three levels of detail waspreviously stored in memory as described above. The selected input fieldin this example will accept all levels of detail. Thus, all threeoptions 314, 316, 318 are available to the user and no options aredisplayed in “greyed out” text to indicate they are not available. Whenthe user selects the web preview option 318, the web preview level ofdetail for the URL will be pasted into the selected field. The pastepreview display 320 shows the user a dynamic live preview of thecurrently selected level of detail. In this case the currently selectedlevel of detail is the web preview option as indicated by thehighlighted web preview option.

FIG. 3C illustrates another example of the GUI 212 allowing the user topaste a display artifact with multiple levels of detail. This example issimilar to FIG. 3B with a window of a messenger application 340 with anew message block 342. The user has moved the pointer 218 over the newmessage block 342 to paste the previously copied URL as described above.In response to selecting to paste a display artifact, the pop-up menu220 is displayed to allow the user to select an action for the userinterface to take on the selected display artifact (URL) in the locationindicated by the pointer. In this example, the user selects the “pasteas” option 310 in the pop-up menu 220. In response to selecting the“paste as” option 310, the GUI 212 displays a paste options menu 312with options for pasting multiple levels of detail at the location ofthe pointer 218. In this example, the levels of detail displayed in thepaste options menu 312 for the selected field, a URL, include a webpreview option 314, link option 316 and plain text option 318. Data forthe three levels of detail was previously stored in memory as describedabove. The selected input field in this example will accept all levelsof detail. Thus, all three options 314, 316, 318 are available to theuser and no options are displayed in “greyed out” text to indicate theyare not available. When the user selects the Link option 316, the Linklevel of detail for the URL will be pasted into the selected field. Thepaste preview display 320 shows the user a dynamic live preview of theLink option which is the currently selected level of detail as indicatedby the highlighted link option 316. The preview display 320 shows theuser the live preview of the Link option 316 which is a link for the URLchosen earlier by the user.

FIG. 3D illustrates another example of the GUI 212 allowing the user topaste a display artifact with multiple levels of detail. This example issimilar to the example illustrated in FIG. 3B, except this exampleincludes a static preview representation of the selected level ofdetail. As in the prior example, the user has moved the pointer 218 overthe new message block 342 to paste a previously copied display artifact,which is a URL. The operation of selecting to paste a display artifactsuch as the URL may be accomplished as described above. In response toselecting to paste a display artifact, the pop-up menu 220 is displayedto allow the user to select an action for the user interface to take onthe selected display artifact (URL) in the location indicated by thepointer. In this example, the user selects the “paste as” option 310 inthe pop-up menu 220. In response to selecting the “paste as” option 310,the GUI 212 displays a paste options menu 350 with options for pastingmultiple levels of detail at the location of the pointer 218. In thisexample, the paste options are each shown with graphics to indicate astatic preview representation for each level of detail. The graphics forthe static representation for the level of detail are made to reflectwhat that level of detail looks like in a general case. The levels ofdetail displayed in the paste options menu 350 for the selected fieldinclude a web preview option 352, a link option 354 and a plain textoption 356. Data for the three levels of detail was previously stored inmemory as described above. The selected input field in this example willaccept all levels of detail. Thus, all three options are available tothe user and no options are displayed in “greyed out” text to indicatethey are not available. When the user selects the web preview option352, the web preview level of detail for the URL will be pasted into theselected field. The paste options menu 350 shows the user a staticpreview representation of each level of detail including the currentlyselected level of detail. In this case the currently selected level ofdetail is the web preview option 352 as indicated by the highlighted webpreview option 352.

FIG. 4 illustrates the GUI 212 allowing the user to select a defaultlevel of detail and set the corresponding habituated shortcut key. Inthis example, the user has moved the pointer 218 over the display window216 and selects to paste a previously copied URL by “right clicking” amouse or other device that controls the location of the pointer 218. Inresponse the pop-up menu 220 is displayed to allow the user to select anaction for the user interface to take on the selected display artifact(URL) in the location indicated by the pointer. In this example, theuser selects the paste as option 310 in the pop-up menu 220. In responseto selecting the paste as option 310, the GUI 212 displays a pasteoptions menu 312 with options for pasting multiple levels of detail. Theuser is then able to select the Change Copy & Paste Details option 410.In this example implementation, selecting the Change Copy & PasteDetails option 410 brings up a selection window 412. The selectionwindow 412 allows the user to select a URL Copy & Paste Format Default.

Again referring to FIG. 4 , in the selection window 412, the user ispresented with three the levels of detail, namely, Paste as Web Preview414, Paste as Link 416 and Paste as Plain Text 418. The selection window412 includes a radio button or option button associated with each levelof detail. The user is allowed to select one of the radio buttons tochoose one of the three mutually exclusive options. For example,selecting the radio button 420 sets Paste as Plain Text 418 as thedefault level of detail. When the user makes the selection, the radiobutton 420 is turned dark and any previous selection of the other levelsof default is cleared. While this example shows the selection window 412for selecting the default as a pop up window, it is understood that thefunction of this window could also be incorporated into a separatescreen or other user input area. For example, in response to the user isselecting the Change Copy & Paste Details option 410, the GUI 212 couldtake the user to a settings screen with the option for selecting thedefault level of detail using any suitable input button. The defaultlevel of detail set by a user in the browser may have an impact to thelevel of detail available for use outside of the browser. For example,when pasting a previously copied display artifact, only the defaultlevel of detail may be available to the destination application. Thus,the default choice made within the browser may control the level ofdetail used outside of the browser depending on what is stored and thecapability of the application used to paste the copied display artifact.

FIG. 4 further illustrates an implementation that supports arelationship between the selected default level of detail and habitualshortcut keys. As introduced above, some shortcut keys have becomecommon across multiple tools and vendors. These common shortcut keys arecalled habitual shortcut keys, or previously habituated shortcut keys,where their use becomes a habitual response for a user. One suchhabitual key is the “Ctrl+V” paste key. Where “Ctrl+V” means tosimultaneously press the “control” and “V” keys on the keyboard. Thisshortcut key is commonly used to paste something recently copied by auser. In the illustrated implementation, selection of the radio button420 changes the default level of detail to Paste as Plain Text 418 asdescribed above. The section of the radio button 420 further changes thefunction of the habitual “Ctrl+V” key to the level of detail of Paste asPlain Text 418. The change is displayed in the selection window 412 bypresenting the shortcut key “Ctrl+V” as the shortcut 422 for theselected default. The other, non-selected, levels of detail may beassigned another non habitual key. Thus, the shortcut keys, includingthe habituated shortcut keys, may change dynamically with the user'sdefault selection. This allows the user to retain their currenthabituated behavior but have some control over the function of thehabituated behavior. In this example, the user retains the habituatedbehavior of the shortcut key “Ctrl+V”, and selects the specific functionthat shortcut key provides. This allows the user to adjust thehabituated behavior to the circumstances and workflow as desired. Inthis example, the paste as web preview level of detail is given theshortcut key of “Ctrl+Shift+X” and the paste as link level of detail isgiven the shortcut key of “Shift+Alt+V”. These assignments are alsoreflected in the paste options menu 312.

The implementation in FIG. 4 showed the default selection of the levelof detail Paste as Plain Text 418 by setting the radio button 420. Inresponse, the habitual “Ctrl+V” key was changed to implement theassociated paste function using the selected default level of detail of.Similarly, setting the default to other levels of detail changes theoperation of the habitual shortcut key for the paste function to pastethe corresponding selected default level of detail. For example, FIG. 3Ashows an implementation where the default level of detail is Plain Textoption 318 in the paste options menu 312. Since the Plain Text option318 is the default level of detail, the habituated shortcut key “Ctrl+V”is currently assigned to this level of detail. If the user uses the“Ctrl+V” shortcut key the paste option will paste the plain text levelof detail. The other levels of detail are shown with their assignednon-habituated shortcut keys. Similarly, FIG. 3B shows an implementationwhere the default level of detail is web preview option 314 in the pasteoptions menu 312. Since the web preview option 314 is the default levelof detail, the habituated shortcut key “Ctrl+V” is currently assigned tothis level of detail. If the user uses the “Ctrl+V” shortcut key thepaste option will paste the web preview level of detail. FIG. 3D showsan implementation where the default level of detail is Link option 354.Where the link option 354 is the default level of detail, the habituatedshortcut key “Ctrl+V” is assigned to this level of detail. If the useruses the “Ctrl+V” shortcut key the paste option will paste the linklevel of detail.

FIG. 5 is a flowchart of an implementation of a process for operating adevice, such as the computer device 120 in FIG. 1 , to provide agraphical user interface that allows a user to copy and paste displayartifacts that include various levels of detail. At step 510, the deviceprovides a user with a user interface with an input field having aninput artifact. The user interface may be any software interfaceallowing a user to manipulate a display artifact. For example, the userinterface may be a GUI for accessing web pages, an application, etc. Theinput field may be any input or output portion of the user interfacethat contains a display artifact. A display artifact may include anyartifact that can be manipulated by the user. For example, the inputartifact may be a URL, a hyperlink, formatted text, an image withstyling, etc.

At step 520, the device stores multiple levels of detail for the displayin response to receiving an indication a user selected to copy theartifact. The user may select to copy the display artifact by moving apointer over the display artifact and executing a copy command with amouse key, or other similar user input method to select a displayartifact. The levels of detail for the display artifact may depend onthe specific display artifact. For example, for a URL the levels ofdetail may include a web preview, link, and plain text. The levels ofdetail for and image may include the full image, the image metadata orother image information.

At step 530, in response to receiving an indication a user selected topaste the display artifact stored in multiple levels of detail, thedevice displays to the user an option to select a level of detail forpasting the display artifact. The displayed level of detail may be astatic presentation or a dynamic preview of the display artifact.

At step 540, the device allows the user to select one of the levels ofdetail for the display artifact. The device may allow the user to makethe selection using a pointer or other means to select one of thedisplayed static or dynamic levels of detail. Alternatively, the devicemay allow the user to make the selection using a shortcut key asdescribed herein.

At step 550, the device pastes the display artifact with the level ofdetail selected by the user in step 540. The device will paste thedisplay artifact at a location determined by the user. The location istypically determined by the location of the pointer when the userinitiates the paste operation. The level of detail that the device canpaste the display may be limited by the location. For example, if thelocation can not accept a higher level of detail the device will paste alower level of detail that the destination can accommodate.

At step 560, the device allows the user to change the copy and pastedefault level of detail. For example, the device may present a pop-upscreen or a settings page with a bullet button or other input to changethe default level of detail. The selected default level of detail maythen be associated with a habitual shortcut key as described herein. Atstep 570, the device may then allow the user to use the habituatedshortcut key to perform the paste function with the chosen default levelof detail.

FIG. 6 is a flowchart of an implementation of a process for operating adevice, such as computer device 120 in FIG. 1 to copy the displayartifact and store multiple levels of detail for the display artifact.The flowchart in FIG. 6 is one possible implementation for step 520 inFIG. 5 . At step 610, the device creates content for each of themultiple levels of detail for the display artifact, which is describedfurther in steps 612-626.

At steps 612-618 the device creates content for the web preview level ofdetail. At step 612, the device obtains a copy of the web preview. Atstep 614, the device fetches an entity extraction template for thedomain. At step 616, the device extracts entities from the web previewpage. At step 618, the device generates a web preview payload.

At steps 620-624 the device creates content for the link level ofdetail. At step 620, the device obtains a copy of the link. At step 622,the device extracts the page title or link text. At step 624 the devicegenerates a link.

At step 626 the device obtains the plain text URL to create content forthe plain text level of detail. At step 628, the device stores multiplelevels of detail for the display artifact. For the web preview level ofdetail, the device stores the generated web preview payload created instep 618. For the link level of detail, the device stores the linkgenerated in step 624. And for the plain text URL level of detail, thedevice stores the plain text URL from step 626.

FIG. 7A is a flowchart of an implementation of a process for operating adevice, such as the computer device 120 in FIG. 1 , to provide agraphical user interface that allows a user to use a habituated shortcutkey to perform a paste function with the chosen default level of detail.The flowchart in FIG. 7A is one possible implementation for step 570 inFIG. 5 . At step 710, set the previously habituated paste shortcut keyvalue (“Ctrl+V”) to paste the chosen default copy/paste level of detail(Web Preview, Link, Plain Text). At step 720, present the habituatedpaste shortcut key value (“Ctrl+V”) as the shortcut key for the chosendefault Copy/Paste level of detail in the “Paste As” context menu. Atstep 730, present other, non-habituated and unique shortcut key valuesfor the other Copy/Paste levels of detail (including the previousdefault) in the “Paste As” context menu.

FIG. 7B is a flowchart of an implementation of a process for operating adevice, such as the computer device 120 in FIG. 1 , to provide agraphical user interface that allows a user to use a habituated shortcutkey to perform a general function with a chosen default type of thefunction (such as level of detail). FIG. 7B is thus similar to FIG. 7A.However, FIG. 7B shows a generalized flow for other functions such asthose described below. The flowchart in FIG. 7B is another possibleimplementation for step 570 in FIG. 5 . First, set the previouslyhabituated shortcut key value to perform the function with the chosendefault type of the function (step 740). Then, present the habituatedpaste shortcut key value as the shortcut key value for the functionformat matching the chosen default function type in a sub-functioncontext menu (similar to the “paste as” context menu) (step 750).Finally, present other, non-habituated and unique shortcut key valuesfor the other function format types in the sub-function context menu(step 760).

Other functions could also implement a previously habituated shortcutkey to perform a general function with a chosen default type of thefunction as described above. For example, “Alt+Tab” could swap withWindows “Key+Tab” to give a greater level of detail to task switching.This implementation and the implementations described herein could offerthe user a setting to swap back to the previous level of detail. The“Ctrl+Space” shortcut key typically clears formatting in manyapplications. The “Ctrl+Space” could be changed to auto-generateformatting based on ML understanding the context of the selectedcontent, with a new shortcut key created to clear formatting. The“Ctrl+Alt+Delete” shortcut key could be used to auto-troubleshoot aproblem instead of bringing up a manual menu of troubleshooting tools,while a new shortcut key could bring up the current “Ctrl+Alt+Delete”behavior.

FIG. 8 is a block diagram showing an example a computer system 800 uponwhich various implementations of this disclosure may be implemented. Thecomputer system 800 may include a bus 802 or other communicationmechanism for communicating information, and a processor 804 coupledwith the bus 802 for processing information. The computer system 800 mayalso include a main memory 806, such as a random-access memory (RAM) orother dynamic storage device, coupled to the bus 802 for storinginformation and instructions to be executed by the processor 804. Themain memory 806 may also be used for storing temporary variables orother intermediate information during execution of instructions to beexecuted by the processor 804.

The computer system 800 may further include a read only memory (ROM) 808or other static storage device coupled to the bus 802 for storing staticinformation and instructions for the processor 804. A storage device810, such as a flash or other non-volatile memory may be coupled to thebus 802 for storing information and instructions.

The computer system 800 may be coupled via the bus 802 to a display 812,such as a liquid crystal display (LCD), for displaying information. Oneor more user input devices, such as the example user input device 814may be coupled to the bus 802, and may be configured for receivingvarious user inputs, such as user command selections and communicatingthese to the processor 804, or to the main memory 806. The user inputdevice 814 may include a physical structure, or virtual implementation,or both, providing user input modes or options such as a keyboard.Further, cursor control 816 may include a physical structure, or virtualimplementation, or both, for controlling, for example, a cursor orpointer, visible to a user through display 812 or through othertechniques, and such modes or operations may include, for examplevirtual mouse, trackball, or cursor direction keys.

The computer system 800 may include respective resources of theprocessor 804 executing, in an overlapping or interleaved manner,respective program instructions. Instructions may be read into the mainmemory 806 from another machine-readable medium, such as the storagedevice 810. In some examples, hard-wired circuitry may be used in placeof or in combination with software instructions. The term“machine-readable medium” as used herein refers to any medium thatparticipates in providing data that causes a machine to operate in aspecific fashion. Such a medium may take forms, including but notlimited to, non-volatile media, volatile media, and transmission media.Non-volatile media may include, for example, optical or magnetic disks,such as storage device 810. Transmission media may include opticalpaths, or electrical or acoustic signal propagation paths, and mayinclude acoustic or light waves, such as those generated duringradio-wave and infra-red data communications, that are capable ofcarrying instructions detectable by a physical mechanism for input to amachine.

The computer system 800 may also include a communication interface 818coupled to the bus 802, for two-way data communication coupling to anetwork link 820 connected to a local network 822. The network link 820may provide data communication through one or more networks to otherdata devices. For example, the network link 820 may provide a connectionthrough the local network 822 to a host computer 824 or to dataequipment operated by an Internet Service Provider (ISP) 826 to accessthrough the Internet 828 a server 830, for example, to obtain code foran application program or an internet web page.

As used herein, “computer-readable” medium” refers to a device, such asstorage device 810, able to temporarily or permanently storeinstructions and data that cause computer system or machine 800 tooperate in a specific fashion. The term “computer-readable medium,” asused herein, does not encompass transitory electrical or electromagneticsignals per se (such as on a carrier wave propagating through a medium);the term “computer-readable medium” may therefore be considered tangibleand non-transitory. Non-limiting examples of a non-transitory, tangiblecomputer-readable medium may include, but are not limited to,nonvolatile memory (such as flash memory or read-only memory (ROM)),volatile memory (such as a static random-access memory (RAM) or adynamic RAM), buffer memory, cache memory, optical storage media,magnetic storage media and devices, network-accessible or cloud storage,other types of storage, and/or any suitable combination thereof. Theterm “computer-readable medium” applies to a single medium, orcombination of multiple media, used to store instructions for executionby a computer system 800 such that the instructions, when executed byone or more processors 804, cause the system to perform and one or moreof the features described herein. Accordingly, a “computer-readablemedium” may refer to a single storage device, as well as “cloud-based”storage systems or storage networks that include multiple storageapparatus or devices.

While various embodiments have been described, the description isintended to be exemplary, rather than limiting, and it is understoodthat many more embodiments and implementations are possible that arewithin the scope of the embodiments. Although many possible combinationsof features are shown in the accompanying figures and discussed in thisdetailed description, many other combinations of the disclosed featuresare possible. Any feature of any embodiment may be used in combinationwith or substituted for any other feature or element in any otherembodiment unless specifically restricted. Therefore, it will beunderstood that any of the features shown and/or discussed in thepresent disclosure may be implemented together in any suitablecombination. Accordingly, the embodiments are not to be restrictedexcept in light of the attached claims and their equivalents. Also,various modifications and changes may be made within the scope of theattached claims.

While the foregoing has described what are considered to be the bestmode and/or other examples, it is understood that various modificationsmay be made therein and that the subject matter disclosed herein may beimplemented in various forms and examples, and that the teachings may beapplied in numerous applications, only some of which have been describedherein. It is intended by the following claims to claim any and allapplications, modifications and variations that fall within the truescope of the present teachings.

Unless otherwise stated, all measurements, values, ratings, positions,magnitudes, sizes, and other specifications that are set forth in thisspecification, including in the claims that follow, are approximate, notexact. They are intended to have a reasonable range that is consistentwith the functions to which they relate and with what is customary inthe art to which they pertain.

The scope of protection is limited solely by the claims that now follow.That scope is intended and should be interpreted to be as broad as isconsistent with the ordinary meaning of the language that is used in theclaims when interpreted in light of this specification and theprosecution history that follows and to encompass all structural andfunctional equivalents. Notwithstanding, none of the claims are intendedto embrace subject matter that fails to satisfy the requirement ofSections 101, 102, or 103 of the Patent Act, nor should they beinterpreted in such a way. Any unintended embracement of such subjectmatter is hereby disclaimed.

Except as stated immediately above, nothing that has been stated orillustrated is intended or should be interpreted to cause a dedicationof any component, step, feature, object, benefit, advantage, orequivalent to the public, regardless of whether it is or is not recitedin the claims.

It will be understood that the terms and expressions used herein havethe ordinary meaning as is accorded to such terms and expressions withrespect to their corresponding respective areas of inquiry and studyexcept where specific meanings have otherwise been set forth herein.Relational terms such as first and second and the like may be usedsolely to distinguish one entity or action from another withoutnecessarily requiring or implying any actual such relationship or orderbetween such entities or actions. The terms “comprises,” “comprising,”or any other variation thereof, are intended to cover a non-exclusiveinclusion, such that a process, method, article, or apparatus thatcomprises a list of elements does not include only those elements butmay include other elements not expressly listed or inherent to suchprocess, method, article, or apparatus. An element proceeded by “a” or“an” does not, without further constraints, preclude the existence ofadditional identical elements in the process, method, article, orapparatus that comprises the element.

The Abstract of the Disclosure is provided to allow the reader toquickly ascertain the nature of the technical disclosure. It issubmitted with the understanding that it will not be used to interpretor limit the scope or meaning of the claims. In addition, in theforegoing Detailed Description, it may be seen that various features aregrouped together in various examples for the purpose of streamlining thedisclosure. This method of disclosure is not to be interpreted asreflecting an intention that the claims require more features than areexpressly recited in each claim. Rather, as the following claimsreflect, inventive subject matter lies in less than all features of asingle disclosed example. Thus, the following claims are herebyincorporated into the Detailed Description, with each claim standing onits own as a separately claimed subject matter.

What is claimed is:
 1. A device comprising: a processor; and a memory incommunication with the processor, the memory comprising executableinstructions that, when executed by the processor, cause the processorto control the device to perform functions of: providing a userinterface with a uniform resource locator (URL); in response toreceiving an indication a user selected to copy the URL, storingmultiple levels of detail of the URL; allowing the user to paste aselected level of detail for the URL by the steps of: in response toreceiving an indication the user selected an input field and a pastecommand, displaying a plurality of paste options for pasting the URLinto the input field, wherein the plurality of paste options each have aunique level of detail for representing the URL; and allowing the userto select from the plurality of paste options; and in response toreceiving an indication the user selected a paste option from theplurality of paste options, pasting the URL with a level of detailassociated with the selected paste option into the input filed.
 2. Thedevice of claim 1, wherein displaying the plurality of paste optionsincludes displaying a visual representation for each level of detail ofthe URL.
 3. The device of claim 2, wherein displaying a representationfor each level of detail includes displaying a live preview of the URLat the selected level of paste option.
 4. The device of claim 2, whereindisplaying a representation for each level of detail includes displayingonly levels of detail supported by the selected input field.
 5. Thedevice of claim 1, wherein the functions further comprise allowing theuser to set a default level of detail for pasting.
 6. The device ofclaim 5, wherein the functions further comprise: allowing the user touse a previously habituated shortcut key to paste the selected URL withthe set default level of detail.
 7. The device of claim 6, wherein thefunctions further comprise: setting the previously habituated shortcutkey to paste the set default level of detail for pasting; presenting thepreviously habituated shortcut key as the shortcut key for a formatmatching the set default level of detail in a paste-as context menu; andpresenting other, non-habituated shortcut keys for format types otherthan the default level of detail in the paste-as context menu.
 8. Thedevice of claim 1, wherein storing multiple levels of detail of the URLfurther comprises creating content for a web preview level of detail by:obtaining a copy of a web preview; fetching an entity extractiontemplate for a domain; extracting entities from the web preview; andgenerating a web preview payload.
 9. The device of claim 1, wherein atleast one of the paste options includes a web preview for the URL.
 10. Amethod of operating a device, comprising: providing a user interfacewith a URL; in response to receiving an indication a user selected tocopy the URL, storing multiple levels of detail of the URL; allowing theuser to paste a selected level of detail for the URL by steps of: inresponse to receiving an indication a user selected an input field and apaste command, displaying a plurality of paste options for pasting theURL into the input field, wherein the plurality of paste options eachhave a unique level of detail for representing the URL; allowing theuser to select from the plurality of paste options; and in response toreceiving an indication a user selected a paste option from theplurality of paste options, pasting the URL with a level of detailassociated with the selected paste option into the input filed.
 11. Themethod of claim 10, wherein displaying the plurality of paste optionsincludes displaying a representation for each level of detail of theURL.
 12. The method of claim 11, wherein displaying a representation foreach level of detail includes displaying a live preview of the URL atthe selected level of paste option.
 13. The method of claim 10, furthercomprising allowing the user to set a default level of detail forpasting.
 14. The method of claim 13, further comprising: allowing theuser to use a previously habituated shortcut key to paste the selectedURL with the set default level of detail.
 15. The method of claim 14,further comprising: allowing the user to use a previously habituatedshortcut key to paste the selected URL with the set default level ofdetail including steps of: setting the previously habituated shortcutkey to paste the set default level of detail for pasting; presenting thepreviously habituated shortcut key as the shortcut key for a formatmatching the set default level of detail in a paste-as context menu; andpresenting other, non-habituated shortcut keys for format types otherthan the default level of detail in the paste-as context menu.
 16. Themethod of claim 10, wherein storing multiple levels of detail of the URLfurther comprises creating content for a web preview level of detail by:obtaining a copy of a web preview; fetching an entity extractiontemplate for a domain; extracting entities from the web preview; andgenerating a web preview payload.
 17. The method of claim 10, wherein atleast one of the paste options includes a web preview for the URL.
 18. Anon-transitory computer-readable medium on which are stored instructionsthat, when executed by a computer processor, cause a device to: providea user interface with a URL; in response to receiving an indication auser selected to copy the URL, store multiple levels of detail of theURL; allow the user to paste a selected level of detail for the URL bythe steps of: in response to receiving an indication a user selected aninput field and a paste command, display a plurality of paste optionsfor pasting the URL into the input field, wherein the plurality of pasteoptions each have a unique level of detail for representing the URL;allow the user to select from the plurality of paste options; and inresponse to receiving an indication a user selected a paste option fromthe plurality of paste options, paste the URL with a level of detailassociated with the selected paste option into the input filed.
 19. Thenon-transitory computer-readable medium of claim 18, wherein displayingthe plurality of paste options includes displaying a visualrepresentation for each level of detail of the URL and displaying a livepreview of the URL at the selected level of paste option.
 20. Thenon-transitory computer-readable medium of claim 18, wherein theinstruction cause to the device to further: allow the user to set adefault level of detail for pasting; and allow the user to use apreviously habituated shortcut key to paste the selected URL with theset default level of detail.